Move point backwards to nearest line with same indentation or less.
If not found, point is left at top of buffer." (interactive) (byte-code "ÀÁÂÃ \"Ä " [nil ada-go-to-this-indent -1 current-indentation back-to-indentation] 4))
(defun ada-forward-to-same-indent nil "\
Move point forwards to nearest line with same indentation or less.
If not found, point is left at start of last line in buffer." (interactive) (byte-code "ÀÁÂÃ \"Ä " [nil ada-go-to-this-indent 1 current-indentation back-to-indentation] 4))
(defun ada-array nil "\
Insert array type definition, prompting for component type,
leaving the user to type in the index subtypes." (interactive) (byte-code "ÀÁc ÃÄ!cÅ Æc ÃÇ!cÅ " [nil "array ()" backward-char read-string "index subtype[s]: " end-of-line " of ;" "component-type: "] 7))
(defun ada-case nil "\
Build skeleton case statment, prompting for the selector expression.
starts up the first when clause, too." (interactive) (byte-code "ÀÁcÂÃÄ!Å\"Æ Æ ÇcÈÉ!Ê Ê Ë " [nil "case " insert read-string "selector expression: " " is" ada-newline "end case;" end-of-line 0 ada-tab ada-when] 9))
(defun ada-declare-block nil "\
Insert a block with a declare part and indent for the 1st declaration." (interactive) (byte-code "ÁÂÃ!ÄcÅÆ\"? #Ç ÈÉ!ÊË\"ÌÉ!Í Î Î ÏcÎ Î ÅÆ\"?ÐcDÊÑÒ#)ÍÓ!Ô " [ada-block-name nil read-string "[block name]: " "declare" string-equal "" beginning-of-line open-line 1 insert ":" next-line end-of-line ada-newline "begin" "end;" "end " ";" -2 ada-tab] 16))
(defun ada-exception-block nil "\
Insert a block with an exception part and indent for the 1st line of code." (interactive) (byte-code "ÂÃÄ!ÅcÆÇ\"? #È ÉÊ!ËÌ\"ÍÊ!Î Ï Ï ÐcÏ Ï ÆÇ\"?ÑcDËÒÓ#)ÎÔ!Õ " [block-name t nil read-string "[block name]: " "begin" string-equal "" beginning-of-line open-line 1 insert ":" next-line end-of-line ada-newline "exception" "end;" "end " ";" -2 ada-tab] 16))
(defun ada-exception nil "\
Undent and insert an exception part into a block. Reindent." (interactive) (byte-code "ÀÁ ÂcÃ Ä " [nil ada-untab "exception" ada-newline ada-tab] 4))
(defun ada-else nil "\
Add an else clause inside an if-then-end-if clause." (interactive) (byte-code "ÀÁ ÂcÃ Ä " [nil ada-untab "else" ada-newline ada-tab] 4))
(defun ada-exit nil "\
Insert an exit statement, prompting for loop name and condition." (interactive) (byte-code "ÂÃcÄÅ!ÆÇ\"? ÈÉ\")ÄÊ!Æ Ç\"? 5ËÌ \"1ÈÉ \"5ÈÍ \")Îc" [ada-loop-name ada-exit-condition nil "exit" read-string "[name of loop to exit]: " string-equal "" insert " " "[exit condition]: " string-match "^ *[Ww][Hh][Ee][Nn] +" " when " ";"] 10))
(defun ada-when nil "\
Start a case statement alternative with a when clause." (interactive) (byte-code "ÀÁ ÂcÃÄÅ!Æ\"Ç È " [nil ada-untab "when " insert read-string "'|'-delimited choice list: " " =>" ada-newline ada-tab] 6))
Insert a skeleton package body -- includes a begin statement." (interactive) (byte-code "ÁÂcÃÄ!ÅÆ\"Ç Ç ÈcÇ ÅÉÊ#ËÌ!Í )" [ada-package-name nil "package body " read-string "package name: " insert " is" ada-newline "begin" "end " ";" end-of-line -1 ada-tab] 9))
(defun ada-private nil "\
Undent and start a private section of a package spec. Reindent." (interactive) (byte-code "ÀÁ ÂcÃ Ä " [nil ada-untab "private" ada-newline ada-tab] 4))
(defun ada-get-arg-list nil "\
Read from user a procedure or function argument list.
Add parens unless arguments absent, and insert into buffer.
Individual arguments are arranged vertically if entered one-at-a-time.
Arguments ending with ';' are presumed single and stacked." (byte-code "ÂciÃÄ!Å Æ\"ÇÈ!4ÉÊ \" / cË jÃÌ!Í Î\"*" [ada-arg-indent ada-args " (" read-string "[arguments]: " string-equal "" backward-delete-char 2 string-match ";$" newline "next argument: " insert ")"] 9))
(defun ada-function-spec nil "\
Insert a function specification. Prompts for name and arguments." (interactive) (byte-code "ÀÁcÂÃ!cÄ ÅcÂÆ!c" [nil "function " read-string "function name: " ada-get-arg-list " return " "result type: "] 4))
(defun ada-procedure-spec nil "\
Insert a procedure specification, prompting for its name and arguments." (interactive) (byte-code "ÀÁcÂÃ!cÄ " [nil "procedure " read-string "procedure name: " ada-get-arg-list] 3))
(defun get-ada-subprogram-name nil "\
Return (without moving point or mark) a pair whose CAR is
the name of the function or procedure whose spec immediately precedes point,
and whose CDR is the column nbr the procedure/function keyword was found at." (byte-code "ÄÅÆÁÂ#4ÇÈ!ÇÉ!/iÊË!`ÊÌ!Í`\"B)1Î 7ÏB))" [ada-proc-indent nil t p2 0 re-search-backward "[PpFf][RrUu][OoNn][Cc][EeTt][DdIi][UuOo][RrNn]" looking-at "\\<[Pp][Rr][Oo][Cc][Ee][Dd][Uu][Rr][Ee]\\>" "\\<[Ff][Uu][Nn][Cc][Tt][Ii][Oo][Nn]\\>" forward-word 2 -1 buffer-substring get-ada-subprogram-name "NAME?"] 9))
Finish a body stub with 'is separate'." (interactive) (byte-code "ÀÁc à Äc Š" [nil " is" ada-newline ada-tab "separate;" ada-untab] 5))
(defun ada-record nil "\
Insert a skeleton record type declaration." (interactive) (byte-code "ÀÁc  ÃcÄÅ!Æ " [nil "record" ada-newline "end record;" end-of-line 0 ada-tab] 5))
(defun ada-subtype nil "\
Start insertion of a subtype declaration, prompting for the subtype name." (interactive) (byte-code "ÀÁÂÃÄ!Å#Æ ÇÈ!" [nil insert "subtype " read-string "subtype name: " " is ;" backward-char message "insert subtype indication."] 5))
(defun ada-type nil "\
Start insertion of a type declaration, prompting for the type name." (interactive) (byte-code "ÁÂÃÄÅ!\"ÄÆ!ÇÈ\"? ÂÉÊ#)ËcÌÍ!" [disc-part nil insert "type " read-string "type name: " "discriminant specs: " string-equal "" "(" ")" " is " message "insert type definition."] 8))
Insert a pair of round parentheses, placing point between them." (interactive) (byte-code "ÀÁc " [nil "()" backward-char] 2))
(defun ada-inline-comment nil "\
Start a comment after the end of the line, indented at least COMMENT-COLUMN.
If starting after END-COMMENT-COLUMN, start a new line." (interactive) (byte-code "ÂÃ iV Ä i W jÅc" [end-comment-column comment-column nil end-of-line newline " -- "] 4))
(defun ada-display-comment nil "\
Inserts 3 comment lines, making a display comment." (interactive) (byte-code "ÀÁcÂÃ!" [nil "--
--
--" end-of-line 0] 2))
(defvar ada-lib-dir-name "lib" "\
*Current ada program library directory.")
(defvar ada-bind-opts "" "\
*Options to supply for binding.")
(defun ada-library-name (ada-lib-name) "\
Specify name of ada library directory for later compilations." (interactive "Dname of ada library directory: ") (byte-code "Â " [ada-lib-dir-name ada-lib-name nil] 2))
(defun ada-options-for-bind nil "\
Specify options, such as -m and -i, needed for adabind." (byte-code "ÁÂ!" [ada-bind-opts read-string "-m and -i options for adabind: "] 3))
(defun ada-compile (ada-prefix-arg) "\
Save the current buffer and compile it into the current program library.
Initialize the library if a prefix arg is given." (interactive "P") (byte-code "Ä ?ÅÆÇ ÈÉÊËÌ
Find listing file for ada source in current buffer, using other window." (interactive) (byte-code "ÀÁÂ ÃÄOÅP!ÆÇ!" [nil find-file-other-window buffer-name 0 -4 ".lis" search-forward "*** ERROR"] 5))
(defun ada-bind nil "\
Bind the current program library, using the current binding options." (interactive) (byte-code "ÂÃÄÅ R!" [ada-bind-opts ada-lib-dir-name nil compile "adabind " " "] 5))